home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / kabc / geo.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-10  |  2.4 KB  |  102 lines

  1. /*
  2.     This file is part of libkabc.
  3.     Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
  4.  
  5.     This library is free software; you can redistribute it and/or
  6.     modify it under the terms of the GNU Library General Public
  7.     License as published by the Free Software Foundation; either
  8.     version 2 of the License, or (at your option) any later version.
  9.  
  10.     This library is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.     Library General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU Library General Public License
  16.     along with this library; see the file COPYING.LIB.  If not, write to
  17.     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  18.     Boston, MA 02110-1301, USA.
  19. */
  20.  
  21. #ifndef KABC_GEO_H
  22. #define KABC_GEO_H
  23.  
  24. #include <qstring.h>
  25.  
  26. #include <kdelibs_export.h>
  27.  
  28. namespace KABC {
  29.  
  30. /**
  31.   @short Geographic position
  32.   
  33.   This class represents a geographic position.
  34. */
  35. class KABC_EXPORT Geo
  36. {
  37.     friend KABC_EXPORT QDataStream &operator<<( QDataStream &, const Geo & );
  38.     friend KABC_EXPORT QDataStream &operator>>( QDataStream &, Geo & );
  39.  
  40.   public:
  41.     /**
  42.       Construct invalid geographics position object.
  43.     */
  44.     Geo();
  45.  
  46.     /**
  47.       Construct geographics position object.
  48.       
  49.       @param latitude  Geographical latitude
  50.       @param longitude Geographical longitude
  51.     */
  52.     Geo( float latitude, float longitude );
  53.     
  54.     /**
  55.       Sets the latitude.
  56.     */
  57.     void setLatitude( float );
  58.  
  59.     /**
  60.       Returns the latitude.
  61.     */
  62.     float latitude() const;
  63.     
  64.     /**
  65.       Sets the longitude.
  66.     */
  67.     void setLongitude( float );
  68.  
  69.     /**
  70.       Returns the longitude.
  71.     */
  72.     float longitude() const;
  73.   
  74.     /**
  75.       Returns, if this object contains a valid geographical position.
  76.     */
  77.     bool isValid() const;
  78.     
  79.     bool operator==( const Geo & ) const;
  80.     bool operator!=( const Geo & ) const;
  81.  
  82.     /**
  83.       Returns string representation of geographical position.
  84.     */
  85.     QString asString() const;
  86.       
  87.   private:
  88.     float mLatitude;
  89.     float mLongitude;
  90.     
  91.     bool mValid;
  92.     bool mValidLat;
  93.     bool mValidLong;
  94. };
  95.  
  96. KABC_EXPORT QDataStream &operator<<( QDataStream &, const Geo & );
  97. KABC_EXPORT QDataStream &operator>>( QDataStream &, Geo & );
  98.  
  99. }
  100.  
  101. #endif
  102.